var prefix = "/sys/check";
$(function() {
	load();
});

function selectLoad() {
    $(".chosen-select").chosen({
        maxHeight : 200
    });
    //点击事件
    $('.chosen-select').on('change', function(e, params) {
        var opt = {
            query : {
                orderStatus : params.selected,
            }
        }
        $('#exampleTable').bootstrapTable('refresh', opt);
    });
}

function load() {
    selectLoad();
	$('#exampleTable')
			.bootstrapTable(
					{
						method : 'get', // 服务器数据的请求方式 get or post
						url : prefix + "/orderList", // 服务器数据的加载地址
                        showRefresh : true,
                        striped : true, // 设置为true会有隔行变色效果
						dataType : "json", // 服务器返回的数据类型
						pagination : true, // 设置为true会在底部显示分页条
						// queryParamsType : "limit",
						// //设置为limit则会发送符合RESTFull格式的参数
						singleSelect : true, // 设置为true将禁止多选
						iconSize : 'outline',
						toolbar : '#exampleToolbar',
						// contentType : "application/x-www-form-urlencoded",
						// //发送到服务器的数据编码类型
						pageSize : 15, // 如果设置了分页，每页数据条数
						pageNumber : 1, // 如果设置了分布，首页页码
						search : false, // 是否显示搜索框
						showColumns : false, // 是否显示内容下拉框（选择显示的列）
						sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者
                        queryParams : function(params) {
                            return {
                                //说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                                limit : params.limit,
                                offset : params.offset,
                                userName : $('#searchName').val(),
                                orderId:$('#orderId').val()
                            };
                        },
						// "server"
						// queryParams : queryParams,
						// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
						// queryParamsType = 'limit' ,返回参数必须包含
						// limit, offset, search, sort, order 否则, 需要包含:
						// pageSize, pageNumber, searchText, sortName,
						// sortOrder.
						// 返回false将会终止请求
                        userName : $('#searchName').val(),
						columns : [
								{ // 列配置项
									// 数据类型，详细参数配置参见文档http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
									checkbox : true
								// 列表中显示复选框
								},
								{
									field : 'orderId', // 列字段名
                                    title: '订单号',
                                    // visible: false,
                                    align: 'center',
                                    valign: 'center',
                                    width: '5%'
								},
								{
									field : 'userName',
                                    align : 'center',
									title : '用户名'
								},
                                {
                                    field : 'shopName',
                                    align : 'center',
                                    title : '商家名'
                                },
                                {
                                    field : 'gameMoney',
                                    align : 'center',
                                    title : '需要收款金额'
                                },
                                {
                                    field : 'realMoney',
                                    align : 'center',
                                    title : '实际收款金额'
                                },
                                {
                                    field : 'payImg',
                                    align : 'center',
                                    title : '支付凭证截图',
                                    formatter : function(value, row, index) {
                                        var e = '-';
                                        if(row.payImg != null && row.payImg != ""){
                                            e = '<img class="zoom-in" src="'+row.payImg+'"/>';
                                        }
                                        return e;
                                    }
                                },
                                {
                                    field : 'brokerage',
                                    align : 'center',
                                    title : '佣金'
                                },
                                {
                                    field : 'payWay',
                                    align : 'center',
                                    title : '支付方式',
                                    formatter : function(value, row, index) {
                                        var status;
                                        if(row.payWay == '1' ){
                                            status = "支付宝";
                                        }else if(row.payWay == '2' ){
                                            status = "微信";
                                        }else if(row.payWay == '3' ){
                                            status = "QQ钱包";
                                        }
                                        return status;
                                    }
                                },
                                // {
                                //     field : 'remark',
                                //     align : 'center',
                                //     title : '备注'
                                // },
                                 {
                                     field : 'createTime',
                                     align : 'center',
                                     title : '创建时间'
                                 },
                                 {
                                     field : 'updateTime',
                                     align : 'center',
                                     title : '最后更新时间'
                                 },
                                {
                                    field : 'orderStatus',
                                    align : 'center',
                                    title : '订单状态',
                                    formatter : function(value, row, index) {
                                        var status;
                                        if(row.orderStatus == '0' ){
                                            status = "<span class='badge bg-red' style='padding:5px 10px; background-color: #000000;color: #f5f1f1;'>等待接单</span>";
                                        }else if(row.orderStatus == '1' ){
                                            status = "<span class='badge bg-red' style='padding:5px 10px;background-color: #000000;color: #f5f1f1;'>未付款</span>";
                                        }else if(row.orderStatus == '2' ){
                                            status = "<span class='badge bg-red' style='padding:5px 10px; background-color: #000000;color: #f5f1f1;'>待审核</span>";
                                        }else if(row.orderStatus == '3' ){
                                            status = "<span class='badge bg-red' style='padding:5px 10px; background-color: #1f8a28;color: #f5f1f1;'>完成</span>";
                                        }else if(row.orderStatus == '4' ){
                                            status = "<span class='badge bg-red' style='padding:5px 10px; background-color: #999692;color: #f5f1f1;'>审核不通过</span>";
                                        }else if(row.orderStatus == '5' ){
                                            status = "<span class='badge bg-red' style='padding:5px 10px; background-color: #bf07f5;color: #f5f1f1;'>申诉中</span>";
                                        }else if(row.orderStatus == '6' ){
                                            status = "<span class='badge bg-red' style='padding:5px 10px; background-color: #0796f5;color: #f5f1f1;'>订单已关闭</span>";
                                        }
                                        return status;
                                    }
                                },
								{
									title : '操作',
                                    visible: true,
									align : 'center',
									formatter : function(value, row, index) {
                                        if(row.orderStatus == '2' ){
                                            var e = '<a class="btn btn-primary btn-sm '+s_edit_h+'" href="#" mce_href="#" title="通过" onclick="edit(\''
                                                + row.orderId + '\','
                                                + '\''+ row.userName+ '\','+
												'3)">通过</a> ';
                                            var f = '<a class="btn btn-primary btn-sm '+s_edit_h+'" href="#" mce_href="#" title="拒绝" onclick="edit(\''
                                                + row.orderId + '\','
                                                + '\''+ row.userName+ '\','+
												'4)">拒绝</a> ';
                                            return e+f;
										}
                                        if(row.orderStatus == '4' ){
                                            var e = '<a class="btn btn-primary btn-sm '+s_edit_h+'" href="#" mce_href="#" title="关闭订单" onclick="closeOrder(\''
                                                + row.orderId + '\','
                                                + '\''+ row.userName+ '\','+
                                                '6)">关闭订单</a> ';
                                            return e;
                                        }
                                        if(row.orderStatus == '5' ){
                                            var e = '<a class="btn btn-primary btn-sm '+s_edit_h+'" href="#" mce_href="#" title="重置订单" onclick="complain(\''
                                                + row.orderId + '\','
                                                + '\''+ row.userName+ '\','+
                                                '1)">重置订单</a> ';
                                            var f = '<a class="btn btn-primary btn-sm '+s_edit_h+'" href="#" mce_href="#" title="取消订单" onclick="complain(\''
                                                + row.orderId + '\','
                                                + '\''+ row.userName+ '\','+
                                                '2)">取消订单</a> ';
                                            return e+f;
                                            return e;
                                        }
									}
								} ]
					});
}
function reLoad() {
    var opt = {
        query : {
            orderStatus : $('.chosen-select').val(),
        }
    }
	$('#exampleTable').bootstrapTable('refresh');
}

function edit(id,userName,status) {
	var remark = '';
    var str =  '';
    if(status == 3){
        str ='通过'
    }else{
        str ='拒绝'
    }
	if(status == 4){
        layer.prompt({title: '拒绝理由', formType: 2}, function(pass, index){
            layer.close(index);
            remark = pass;
            layer.confirm(str+"用户"+userName+"订单完成?", {
                btn : [ '确定', '取消' ]
            }, function() {
                ajaxFun(id,status,remark);
            }, function() {});
        });
    }else{
        remark = '';
        layer.confirm(str+"用户"+userName+"订单完成?", {
            btn : [ '确定', '取消' ]
        }, function() {
            ajaxFun(id,status,remark);
        }, function() {});
    }


    return;
}

function complain(id,userName,status){
    var str =  '';
    if(status == 1){
        str ='该订单为用户'+userName+'申诉订单，是否重置订单？'
    }else{
        str ='该订单为用户'+userName+'申诉订单，是否关闭订单？'
    }
    layer.confirm(str, {
        btn : [ '确定', '取消' ]
    }, function() {
        $.ajax({
            type : 'POST',
            data : {
                "orderId" : id,
                "orderStatus" : status

            },
            url : prefix + '/resetOrder',
            success : function(r) {
                if (r.code == 0) {
                    layer.msg(r.msg);
                    reLoad();
                } else {
                    layer.msg(r.msg);
                }
            }
        });
    }, function() {});
}

function closeOrder(id,userName,status){
    layer.confirm("确定关闭订单?", {
        btn : [ '确定', '取消' ]
    }, function() {
        ajaxFun(id,status,"");
    }, function() {});
}

function ajaxFun(id,status,remark){
    $.ajax({
        type : 'POST',
        data : {
            "orderId" : id,
            "remark" : remark,
            "orderStatus" : status

        },
        url : prefix + '/orderEdit',
        success : function(r) {
            if (r.code == 0) {
                layer.msg(r.msg);
                reLoad();
            } else {
                layer.msg(r.msg);
            }
        }
    });
}